home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1984-06-12 | 8.9 KB | 238 lines
10 CLEAR:ON ERROR GOTO 3940 30 GOSUB 3500:GOTO 130 70 CLS:COLOR 3,0:LOCATE 12,30:PRINT "QUIT? <Y>es or <N>o?":COLOR 14,0:LOCATE 12,38:PRINT "Y":LOCATE 12,47:PRINT "N":COLOR 3,0 80 GOSUB 115 90 IF Y$="N" THEN 170 110 CLS:LOCATE 12,30:PRINT "GOODBYE":SYSTEM 115 GOSUB 35020:DEF SEG=0: POKE 1050, PEEK(1052) 116 Y$=INKEY$:IF Y$="" THEN 116 ELSE Y$=CHR$(ASC(Y$) AND &HDF) 117 IF Y$="N" OR Y$="Y" THEN RETURN ELSE 115 120 REM 130 REM PRINT 140 GOSUB 6000 170 CLS:LOCATE 25,10:COLOR 1,7,1:PRINT "INTEGRATED SOFTWARE SYSTEMS";SPACE$(20);"PRINT ";:COLOR 3,0:LOCATE 1,1 180 LOCATE 1,1:PRINT TAB(9);"PRINT MENU":PRINT:PRINT "CHOOSE ONE OF THE FOLLOWING: " 190 PRINT:COLOR 14,0:A$=CHR$(218)+CHR$(196)+CHR$(191):B$=CHR$(179)+" "+CHR$(179):C$=CHR$(192)+CHR$(196)+CHR$(217) 200 PRINT " ";CHR$(186);" ";A$:PRINT " ";CHR$(186);" ";B$:PRINT " ";CHR$(25);" ";C$:COLOR 3,0 210 PRINT:PRINT TAB(4);"A)DDRESSES and NAMES":PRINT TAB(4) "B)IRTHDAYS and NAMES" 220 PRINT TAB(4);"C)OMPLETE data (except NOTES)" 230 PRINT TAB(4);"M)AILING LABEL form":PRINT TAB(4);"N)OTES (Complete Data)" 240 PRINT TAB(4);"P)WordPerfect - MAIL MERGE " 241 PRINT TAB(4);"R)olodex labels" 242 PRINT TAB(4);"S)WordStar - MAIL MERGE " 245 PRINT TAB(4);"T)ELEPHONE numbers and NAMES " 250 PRINT TAB(4);"Z)IP CODE all Addresses within zone" 270 COLOR 14,0:LOCATE 9,4:PRINT "A":LOCATE 10,4:PRINT "B":LOCATE 11,4:PRINT "C" 280 LOCATE 12,4:PRINT "M":LOCATE 13,4:PRINT "N":LOCATE 14,4:PRINT "P":LOCATE 15,4:PRINT "R":LOCATE 16,4:PRINT "S":LOCATE 17,4:PRINT "T":LOCATE 18,4:PRINT "Z" 300 COLOR 31,0:LOCATE 6,11:PRINT "?" 310 COLOR 3,0:LOCATE 18,40:PRINT "KEY F1 = Return to MAIN menu" 320 COLOR 14,0:LOCATE 19,40:PRINT " F6";:COLOR 3,0:PRINT " = Return to PRINT menu" 330 LOCATE 20,40:PRINT " F7 = List of names in Address Book" 340 LOCATE 21,40:PRINT " F8 = KEYS used in NOTES" 345 LOCATE 22,40:PRINT " F10 = HELP" 350 LOCATE 23,40:PRINT "Alt F10 = QUIT" 360 DEF SEG=0: POKE 1050, PEEK(1052):LOCATE 1,67:PRINT "(C) 1983":LOCATE 2,62:PRINT "Date: ";DATE$:LOCATE 3,62:PRINT "Time: " 370 GOSUB 5000 375 IF LEN(Y$)=2 THEN 455 ELSE Y$=CHR$(ASC(Y$) AND &HDF) 380 COLOR 3,0:LOCATE 6,11:PRINT Y$ 390 IF Y$="C" THEN RUN"ADPRTC 400 IF Y$="Z" THEN RUN"ADZIP 410 IF Y$="A" THEN RUN"ADPRTA 420 IF Y$="M" THEN RUN"ADMAIL 425 IF Y$="R" THEN RUN"ADRODX.BAS 430 IF Y$="P" THEN RUN"ADWP 435 IF Y$="S" THEN RUN"ADWS 440 IF Y$="B" THEN 2620 445 IF Y$="T" THEN 3020 450 IF Y$="N" THEN 2180 ELSE GOSUB 35020:GOTO 370 455 IF ASC(RIGHT$(Y$,1))=68 THEN 30000 460 IF ASC(RIGHT$(Y$,1))=113 THEN 70 ELSE 180 1950 REM 2110 PRINT #5, 2120 PRINT #5, SPACE$(TN);T1$ 2130 B=VAL(LEFT$(DATE$,2)) 2140 PRINT #5, :PRINT #5, SPACE$(30);DQ$(B);" ";MID$(DATE$,4,2);", 19";RIGHT$(DATE$,2):PRINT #5, 2150 PRINT #5, 2160 MP =10 2170 RETURN 2180 GOSUB 6000:GOSUB 5510 2186 PRINT "PRINT ... NOTES:" :LOCATE 5,28 2190 PRINT "ENTER: NOTES & ";ARR$:LOCATE 6,17:PRINT "Any nmber of characters starting from the left)": LOCATE 8,30:PRINT "OR <!> to print all": LOCATE 9,39:PRINT "OR":LOCATE 10,28:PRINT ARR$;" RETURN to PRINT menu" 2200 LOCATE 15,10:PRINT:COLOR 14,0:INPUT "NOTES ... ",Z$:COLOR 3,0 2210 MM=LEN(Z$):IF MM=0 THEN 170 2220 GOSUB 4100 2260 GOSUB 5700 2290 REM 2350 PRINT #5, :PRINT #5, 2360 PRINT #5, " NAME";SPACE$(36);"NOTES":PRINT #5, :PRINT #5, 2370 MP=MP+5 2380 MP1=LP1*6-9:K=1 2385 GET #4,NN+1:I=VAL(V$(16)):II=I:IK=0 2390 IF IK= NN THEN 170 ELSE IK=IK+1 2400 IF MP<MP1 THEN 2450 ELSE K=K+1 2410 IF LP$="N" OR LP$="n" THEN 2440 ELSE PRINT "Advance paper and hit any key to continue":GOSUB 35010 2420 Y$=INKEY$:IF Y$="" THEN 2420 2430 PRINT #5, TAB(35);"-";K;" -":PRINT #5, :PRINT #5, :MP=6:GOTO 2450 2440 GOSUB 5500 2450 GET #4,I 2460 IF Z$="!" THEN 2480 2470 IF Z$<>MID$(V$(9),5,MM) THEN 2595 2480 GOSUB 5520 2485 A(5)=34-A(5)-A(6)-A(7) 2570 PRINT #5, W$(4);SPACE$(8);MID$(V$(9),5,40):MP=MP+1 2580 PRINT #5, W$(5);SPACE$(A(5));RIGHT$(V$(9),40) 2583 IF VAL(V$(10))<>0 THEN PRINT #5,"Telephone - Home: ";MID$(V$(10),5,VAL(V$(10))):MP=MP+1 2585 IF VAL(V$(11))<>0 THEN PRINT #5,"Telephone - Office: ";MID$(V$(11),5,VAL(V$(11))):MP=MP+1 2586 IF VAL(V$(8))=0 THEN 2590 ELSE B=VAL(MID$(V$(8),5,2)):W$(2)=" 19"+MID$(V$(8),11,2):Z9=VAL(MID$(V$(8),8,2)) 2587 IF VAL(W$(2))=19 THEN W$(2)="" ELSE W$(2)=","+W$(2) 2588 PRINT #5, "Birthday: ";DQ$(B);STR$(Z9);W$(2):MP=MP+1 2590 PRINT #5,:PRINT #5,:MP=MP+4 2595 I=VAL(V$(14)) 2600 IF FRE(1)>1000 THEN 2390 ELSE 2610 2605 GOTO 170 2610 CHAIN "ADPRT.BAS",2615,ALL 2615 GOSUB 6000:GOTO 2390 2620 GOSUB 6000 2630 X2$=" - BIRTHDAY":GOSUB 5600 2640 X2$=" - BIRTHDAY":LOCATE 25,10:COLOR 1,7,1:PRINT X3$;FILE$;X4$;X5$;X1$;X2$;:COLOR 3,0 2670 GOSUB 5700 2750 PRINT #5, :PRINT #5, 2760 PRINT #5, " NAME";SPACE$(36);"BIRTHDAY":PRINT #5, :PRINT #5, 2770 MP=MP+5 2780 MP1=LP1*6-9:K=1 2790 GET #4,NN+1:I=VAL(V$(16)):IB=0:IK=0 2800 IF IK=NN THEN 3000 ELSE IK=IK+1 2805 GET #4,I 2810 A(1)=VAL(V$(1)):A(2)=VAL(V$(2)):A(3)=VAL(V$(13)):A(4)=VAL(V$(8)) 2820 W$(1)=MID$(V$(13),5,A(3))+MID$(V$(1),5,A(1))+" "+MID$(V$(2),5,A(2)) 2830 IF MP<MP1 THEN 2880 ELSE K=K+1 2840 IF LP$="N" OR LP$="n" THEN 2870 ELSE PRINT "Advance paper and hit any key to continue":GOSUB 35010 2850 Y$=INKEY$:IF Y$="" THEN 2850 2860 PRINT #5, TAB(35);"-";K;" -":PRINT #5, :PRINT #5, :MP=6:GOTO 2880 2870 GOSUB 5500 2880 A(1)=40-A(1)-A(2)-A(3) 2890 IF A(4)= 0 THEN IB=IB+1:GOTO 2940 ELSE 2900 2900 B=VAL(MID$(V$(8),5,2)):W$(2)=" 19"+MID$(V$(8),11,2):Z9=VAL(MID$(V$(8),8,2)) 2910 IF VAL(W$(2))=19 THEN W$(2)="" ELSE W$(2)=","+W$(2) 2920 PRINT #5, TAB(4);W$(1);SPACE$(A(1));DQ$(B);STR$(Z9);W$(2) 2930 MP=MP+1 2940 I= VAL(V$(14)) 2950 IF FRE(1)>1500 THEN 2800 2960 CHAIN "ADPRT.BAS",2970,ALL 2970 GOSUB 6000 2990 GOTO 2800 3000 IF IB>0 THEN PRINT #5, :PRINT #5, TAB(4);"The ADDRESS BOOK contains additional ";IB;" names without birthday information.":PRINT #5, :PRINT #5, 3010 GOTO 170 3020 X2$=" - TELEPHONE":GOSUB 5600 3030 GOSUB 6000 3040 GOSUB 4100 3060 GOSUB 5700 3080 MP1=LP1*6-9:K=1 3140 MP=MP+5 3150 PRINT #5, :PRINT #5, 3160 PRINT #5, " NAME";SPACE$(27);" HOME ";SPACE$(14);"OFFICE":PRINT #5, :PRINT #5, 3170 GET #4,NN+1:I=VAL(V$(16)):IN=0 3180 IF IN=NN THEN 3470 ELSE IN=IN+1 3185 GET #4,I 3190 A(1)=VAL(V$(1)):A(2)=VAL(V$(2)):A(3)=VAL(V$(13)):A(4)=VAL(V$(10)):A(5)=VAL(V$(11)) 3200 W$(1)=MID$(V$(13),5,A(3))+MID$(V$(1),5,A(1))+" "+MID$(V$(2),5,A(2)) 3210 W$(2)=MID$(V$(10),5,A(4)) 3220 IF MP<MP1 THEN 3270 ELSE K=K+1 3230 IF LP$="N" OR LP$="n" THEN 3260 ELSE PRINT "Advance paper and hit any key to continue":GOSUB 35010 3240 Y$=INKEY$: IF Y$="" THEN 3240 3250 PRINT #5, TAB(35);"-";K;" -":PRINT #5, :PRINT #5, :MP=6:GOTO 3270 3260 GOSUB 5500 3270 M1=33-A(1)-A(2)-A(3):M2=7 3280 IF A(4)=12 THEN 3330 3290 IF A(4)=0 THEN M1=12+M1 3300 IF A(4)=8 THEN M1=M1+4 3310 IF A(4)=10 THEN M1=M1+2 3320 IF A(4)=7 THEN M1=M1+5 3330 I$=STR$(IN):IF IN<10 THEN I$=" "+I$ 3340 IF IN>9 AND IN<100 THEN I$=" "+I$ 3350 IF A(5)=12 THEN 3390 3360 IF A(5)=10 THEN M2=M2+2 3370 IF A(5)=7 THEN M2=M2+5 3380 IF A(5)=8 THEN M2=M2+4 3390 PRINT #5, TAB(4);I$;". ";W$(1);SPACE$(M1);W$(2);SPACE$(M2);MID$(V$(11),5,A(5)) 3400 MP=MP+1 3410 I= VAL(V$(14)) 3420 IF FRE(1)>1000 THEN 3180 3430 CHAIN "ADPRT.BAS",3440,ALL 3440 GOSUB 6000 3460 GOTO 3180 3470 REM 3480 GOTO 170 3500 OPEN "TEMPOR.TEM" FOR INPUT AS #1 3505 INPUT #1, FILE$,FILM$,FIL$:CLOSE #1 3510 OPEN FILM$ FOR INPUT AS #2 3512 INPUT #2, Y$,NRED,NN,FILE$,FIL$,PT$,SNN$,LP1,LP$,T1$,SND$,TN,F$:CLOSE #2 3515 IF PT$="I" THEN OPEN "LPT1:" FOR OUTPUT AS #5:GOTO 3520 ELSE OPEN "LPT2:" FOR OUTPUT AS #5 3520 DIM V$(16),W$(10),A(10),DQ$(12):FOR I= 1 TO 12:READ DQ$(I):NEXT 3530 DATA JANUARY, FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER 3570 OPEN FILE$ AS #4 LEN = 356 3580 FIELD #4, 19 AS V$(1), 19 AS V$(2), 18 AS V$(13), 34 AS V$(12), 34 AS V$(3), 34 AS V$(4), 19 AS V$(5), 14 AS V$(6), 16 AS V$(7), 12 AS V$(8), 84 AS V$(9), 19 AS V$(10), 19 AS V$(11), 5 AS V$(14), 5 AS V$(15), 5 AS V$(16) 3700 ON ERROR GOTO 3940 3750 RETURN 3840 REM 3845 FILN$ =FIL$+".NTE" 3850 OPEN FILN$ FOR INPUT AS #2 3860 FOR I= 1 TO 20:INPUT #2, NKEY$(I),NOTE$(I):IF NKEY$(I)=CHR$(15) THEN 3870 ELSE NEXT 3870 NP=I-1:CLOSE #2 3880 GOSUB 5510 3890 PRINT "NOTES: KEYS":LOCATE 1,30:COLOR 14,0:PRINT "KEYS ";:COLOR 3,0:PRINT " DESCRIPTION":FOR I=1 TO NP:COLOR 14,0:LOCATE 4+I,30:PRINT NKEY$(I);:COLOR 3,0:LOCATE ,40:PRINT " = ";NOTE$(I):NEXT 3900 LOCATE 20,28:COLOR 14,0:PRINT "HIT ANY KEY TO CONTINUE":GOSUB 35030 3910 Y$=INKEY$:IF Y$="" THEN 3910 3920 COLOR 3,0 3930 RETURN 140 3940 IF ERR = 27 THEN CLS:LOCATE 25,10:COLOR 1,7,1:PRINT "FILE = ";FILE$;SPACE$(10);"PRINTER ERROR ":COLOR 7,1:LOCATE 1,1 3950 IF ERR = 27 THEN PRINT "CHECK THE PRINTER":FOR I= 1 TO 500:NEXT I:RESUME 170 3970 IF ERR =53 THEN CLS:LOCATE 10,15:PRINT "File containing KEYS used in NOTES does not exist.":LOCATE 12,22:PRINT "Return to EDIT program to create file." :LOCATE 18,30:PRINT "HIT ANY KEY TO CONTINUE":GOSUB 35030:Y$=INPUT$(1):RESUME 140 3981 CLS:LOCATE 10,28:PRINT "ERROR ";ERR;" ENCOUNTERED":LOCATE 18,26:PRINT "HIT ANY KEY TO CONTINUE":GOSUB 35030 3982 Y$=INKEY$:IF Y$="" THEN 3982 3985 RESUME 140 3990 GOSUB 5510:M=0 4000 A$="ADPRT":CHAIN "ADNAME",20000,ALL 4100 LOCATE 22,10:COLOR 16,7:PRINT "RUNNING":COLOR 3,0:RETURN 5000 Y$=INKEY$:IF Y$="" THEN LOCATE 3,69:PRINT TIME$:GOTO 5000 ELSE RETURN 5200 A$="EDIT":Y1=1:GOTO 5250 5210 A$="DELETE":Y1=2:GOTO 5250 5220 A$="SORT":Y1=3:GOTO 5250 5230 A$="SEARCH":Y1=4:GOTO 5250 5240 A$="MAIN":Y1=5 5250 CLS:LOCATE 25,25:COLOR 1,7,1:PRINT "INTEGRATED SOFTWARE SYSTEMS";:COLOR 3,0:LOCATE 12,21:PRINT "PLEASE WAIT, LOADING ";A$;" ROUTINES" 5255 A$="AD"+A$:RUN A$ 5500 PRINT #5, CHR$(12):PRINT #5,:PRINT #5, :PRINT #5, TAB(35);"- ";K;" -":PRINT #5, :PRINT #5, :MP=5:RETURN 5510 CLS:LOCATE 25,1:COLOR 0,7,0:PRINT O1$;:COLOR 3,0:LOCATE 1,1:RETURN 5520 A(8)=VAL(V$(13)) 5530 FOR J= 1 TO 7 :A(J)=VAL(V$(J)):NEXT 5540 W$(1)=MID$(V$(13),5,A(8))+MID$(V$(1),5,A(1))+" "+MID$(V$(2),5,A(2)) 5550 W$(3)=RIGHT$(V$(3),30):W$(4)=RIGHT$(V$(4),30):W$(8)=RIGHT$(V$(12),30) 5560 W$(5)=MID$(V$(5),5,A(5))+", "+MID$(V$(6),5,A(6))+" "+MID$(V$(7),5,A(7)) 5570 PRINT #5, W$(1) 5580 IF VAL(V$(12))<>0 THEN PRINT #5, W$(8):MP=MP+1 5590 IF A(3)<>0 THEN PRINT #5, W$(3):MP=MP+1:RETURN ELSE RETURN 5600 X3$="FILE = ":X4$=SPACE$(12):X5$="FUNCTION = ":X1$="PRINT " 5610 LOCATE 25,10:COLOR 1,7,1:PRINT X3$;FILE$;X4$;X5$;X1$;X2$;:COLOR 3,0:RETURN 5700 LOCATE 22,1:COLOR 0,7:PRINT "TURN ON PRINTER AND HIT ANY KEY":COLOR 3,0:GOSUB 35010 5710 GOSUB 5000 5720 LOCATE 22,1:PRINT SPACE$(40):LOCATE 22,10:COLOR 16,7:PRINT "WORKING":COLOR 3,0 5730 GOSUB 1950:RETURN 6000 ON KEY(8) GOSUB 3840:KEY(8) ON:ON KEY(7) GOSUB 3990:KEY(7) ON 6010 ON KEY(1) GOSUB 5240:ON KEY(2) GOSUB 5200:KEY(1) ON:KEY(2) ON:ON KEY(3) GOSUB 5210:KEY(3) ON:ON KEY(4) GOSUB 5220:KEY(4) ON:ON KEY(5) GOSUB 5230:ON KEY(6) GOSUB 130:KEY(6) ON:KEY(5) ON 6015 O$=CHR$(219):O2$=CHR$(221):O1$="F KEYS:"+O$+O$+"F1:MAIN menu"+O2$+"F6:PRINT menu"+O2$+"F7:NAMES"+O2$+"F8:NOTES":ARR$=CHR$(17)+CHR$(196)+CHR$(217) 6020 RETURN 30000 CLS:LOCATE 25,25:COLOR 1,7,1:PRINT "INTEGRATED SOFTWARE SYSTEMS";:COLOR 3,0:LOCATE 1,1 30010 OPEN "AD.HLP" AS #2 LEN=78 30020 FIELD #2, 78 AS A$ 30030 I=1:M=1 30040 GET #2,I 30090 IF LEFT$(A$,1) <> CHR$(15) THEN PRINT A$ :I=I+1:GOTO 30040 ELSE 30130 30130 LOCATE 24,27:COLOR 0,7:PRINT "HIT ANY KEY TO CONTINUE";:COLOR 3,0:GOSUB 35030 30140 Y$=INKEY$:IF Y$="" THEN 30140 30150 CLOSE #2:GOTO 130 35000 IF SND$="N" THEN RETURN ELSE FOR SS%=1 TO 4:SOUND 500*SS%,2:NEXT:RETURN 35010 IF SND$="N" THEN RETURN ELSE FOR SS%=1 TO 3:SOUND 1000*SS%,1:NEXT:FOR SS%= 3 TO 1:SOUND 1000*SS%,1:NEXT:RETURN 35020 IF SND$="N" THEN RETURN ELSE BEEP:RETURN 35030 IF SND$="N" THEN RETURN ELSE SOUND 750,2:SOUND 30000,2:SOUND 750,2:RETURN